{
  "info": {
    "_postman_id": "ffaa342e-13f2-4153-97b0-72f7c270d773",
    "name": "RapidSMS HTTP API",
    "description": "Postman collection for the RapidSMS SMS API (based on API Document 1.0 — Splice Resources).\n\n=== HOW TO USE ===\n1. Open this collection's **Variables** tab and set your **Current value** for `apikey`, `route`, `sender`, and `mobileno`.\n2. Generate your API key on your account: Login at https://1.rapidsms.co.in/ -> Developers -> HTTP API -> Generate Key -> Save.\n3. Send any request below. All values come from the variables, so you only set them once.\n\n=== PARAMETER RULES ===\n- **apikey**: API key generated from your SMS account.\n- **route**: one of `trans`, `promo`, `spromo`, `clientsms`.\n- **sender**: 6-letter sender ID approved at account creation (e.g. company/product name). NOTE: Promo accounts use sender id `BULKSMS`.\n- **mobileno**: 10-digit number(s). For bulk, send up to 300 numbers separated by commas.\n- **text**: URL-encode the message. Special characters such as %, &, # must be encoded or the request may error. 160 characters = 1 SMS; beyond 160 up to a max of 459 characters; concatenated parts count 153 characters per SMS.\n- **schedule**: date/time format YYYY-MM-DD HH:MM:SS.\n- **batchid**: returned in the send response; used for delivery reports and to cancel/modify a schedule.\n\nIMPORTANT: For trans accounts, message templates must be approved in advance (Login -> Manage Items -> Manage Sender Id -> Templates -> New). Use [broad] in place of each variable when submitting a template for approval.\n\n=== RESPONSES ===\nSuccess returns JSON containing status:success, a desc, the batchid, and per-number details with status AWAITED-DLR.\nCommon errors: Invalid Input Data (a value is missing), Invalid Sender ID (incorrect/not approved), Insufficient Credits (low balance).\nDelivery report statuses: SUBMITTED (sent to operator, no report yet), DELIVRD (delivered), UNDELIVRD (network/handset issue), REJECTED (invalid number).\n\nSupport: support@rapidsms.co.in | Ph: 079-40092525",
    "schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
    "_exporter_id": "55691412",
    "_collection_link": "https://go.postman.co/collection/55691412-ffaa342e-13f2-4153-97b0-72f7c270d773?source=collection_link"
  },
  "item": [
    {
      "name": "Send SMS - JSON",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/api/push.json?apikey={{apikey}}&route={{route}}&sender={{sender}}&mobileno={{mobileno}}&text={{text}}",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "push.json"
          ],
          "query": [
            {
              "key": "apikey",
              "value": "{{apikey}}"
            },
            {
              "key": "route",
              "value": "{{route}}"
            },
            {
              "key": "sender",
              "value": "{{sender}}"
            },
            {
              "key": "mobileno",
              "value": "{{mobileno}}"
            },
            {
              "key": "text",
              "value": "{{text}}"
            }
          ]
        },
        "description": "Send an SMS and receive a JSON response.\n\nroute: trans / promo / spromo / clientsms\nsender: 6-letter approved sender ID (Promo accounts use BULKSMS)\nmobileno: 10-digit number; up to 300 comma-separated for bulk\ntext: URL-encoded; 160 chars = 1 SMS (up to 459 max)\n\nSuccess returns status:success with a batchid (save it for delivery reports)."
      },
      "response": []
    },
    {
      "name": "Send SMS - Plain (non-JSON)",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/api/push?apikey={{apikey}}&route={{route}}&sender={{sender}}&mobileno={{mobileno}}&text={{text}}",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "push"
          ],
          "query": [
            {
              "key": "apikey",
              "value": "{{apikey}}"
            },
            {
              "key": "route",
              "value": "{{route}}"
            },
            {
              "key": "sender",
              "value": "{{sender}}"
            },
            {
              "key": "mobileno",
              "value": "{{mobileno}}"
            },
            {
              "key": "text",
              "value": "{{text}}"
            }
          ]
        },
        "description": "Same as Send SMS but without .json — returns a plain (non-JSON) response. Drop .json from any endpoint if you don't want JSON."
      },
      "response": []
    },
    {
      "name": "Schedule SMS",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/api/push?apikey={{apikey}}&route={{route}}&sender={{sender}}&mobileno={{mobileno}}&text={{text}}&schedule={{schedule}}",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "push"
          ],
          "query": [
            {
              "key": "apikey",
              "value": "{{apikey}}"
            },
            {
              "key": "route",
              "value": "{{route}}"
            },
            {
              "key": "sender",
              "value": "{{sender}}"
            },
            {
              "key": "mobileno",
              "value": "{{mobileno}}"
            },
            {
              "key": "text",
              "value": "{{text}}"
            },
            {
              "key": "schedule",
              "value": "{{schedule}}"
            }
          ]
        },
        "description": "Schedule an SMS for a future time. schedule format: YYYY-MM-DD HH:MM:SS. The response includes a batchid you can later cancel or modify."
      },
      "response": []
    },
    {
      "name": "Cancel Schedule",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/api/cancelschedule.json?apikey={{apikey}}&batchid={{batchid}}",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "cancelschedule.json"
          ],
          "query": [
            {
              "key": "apikey",
              "value": "{{apikey}}"
            },
            {
              "key": "batchid",
              "value": "{{batchid}}"
            }
          ]
        },
        "description": "Cancel a previously scheduled SMS batch using its batchid."
      },
      "response": []
    },
    {
      "name": "Modify Schedule",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/api/modifyschedule.json?apikey={{apikey}}&batchid={{batchid}}",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "modifyschedule.json"
          ],
          "query": [
            {
              "key": "apikey",
              "value": "{{apikey}}"
            },
            {
              "key": "batchid",
              "value": "{{batchid}}"
            }
          ]
        },
        "description": "Modify an existing scheduled batch. Uses the modifyschedule.json endpoint with the batchid. (Add a schedule parameter if you need to set a new time: &schedule=YYYY-MM-DD HH:MM:SS.)"
      },
      "response": []
    },
    {
      "name": "Delivery Report (Pull)",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/api/pull.json?apikey={{apikey}}&batchid={{batchid}}",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "pull.json"
          ],
          "query": [
            {
              "key": "apikey",
              "value": "{{apikey}}"
            },
            {
              "key": "batchid",
              "value": "{{batchid}}"
            }
          ]
        },
        "description": "Pull the delivery report for a batch using its batchid.\n\nStatuses: SUBMITTED (sent to operator, report pending), DELIVRD (delivered), UNDELIVRD (network/handset issue), REJECTED (invalid number).\nErrors: Invalid Input Data, Invalid Credentials, Invalid Batch ID."
      },
      "response": []
    },
    {
      "name": "Fetch Approved Templates",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/api/templatelist.json?apikey={{apikey}}",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "templatelist.json"
          ],
          "query": [
            {
              "key": "apikey",
              "value": "{{apikey}}"
            }
          ]
        },
        "description": "Fetch the list of approved message templates for the account (relevant for trans accounts)."
      },
      "response": []
    },
    {
      "name": "Get Sender ID List",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/api/senderlist.json?apikey={{apikey}}",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "senderlist.json"
          ],
          "query": [
            {
              "key": "apikey",
              "value": "{{apikey}}"
            }
          ]
        },
        "description": "Get the list of available/approved sender IDs for the account."
      },
      "response": []
    },
    {
      "name": "Check Credits",
      "request": {
        "method": "GET",
        "header": [],
        "url": {
          "raw": "{{baseUrl}}/api/creditstatus?apikey={{apikey}}",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "creditstatus"
          ],
          "query": [
            {
              "key": "apikey",
              "value": "{{apikey}}"
            }
          ]
        },
        "description": "Check the remaining SMS credit balance for the account."
      },
      "response": []
    },
    {
      "name": "XML Push API",
      "request": {
        "method": "POST",
        "header": [
          {
            "key": "Content-Type",
            "value": "application/x-www-form-urlencoded"
          }
        ],
        "body": {
          "mode": "urlencoded",
          "urlencoded": [
            {
              "key": "data",
              "value": "<?xml version='1.0' encoding='ISO-8859-1'?><message><user apikey='{{apikey}}' route='{{route}}' /><sms text='test sms from xml api'><address from='{{sender}}' to='{{mobileno}}' /></sms></message>",
              "type": "text"
            }
          ]
        },
        "url": {
          "raw": "{{baseUrl}}/api/xmlpush",
          "host": [
            "{{baseUrl}}"
          ],
          "path": [
            "api",
            "xmlpush"
          ]
        },
        "description": "Send one or more SMS via an XML payload. The document shows `data` as a query parameter; sending it as a POST body is safer for long/encoded XML. Edit the XML in the Body tab — you can include multiple <sms> blocks and multiple <address> elements per sms."
      },
      "response": []
    }
  ],
  "variable": [
    {
      "key": "baseUrl",
      "value": "https://1.rapidsms.co.in"
    },
    {
      "key": "apikey",
      "value": ""
    },
    {
      "key": "route",
      "value": "trans"
    },
    {
      "key": "sender",
      "value": ""
    },
    {
      "key": "mobileno",
      "value": ""
    },
    {
      "key": "text",
      "value": "Test message from Postman"
    },
    {
      "key": "schedule",
      "value": ""
    },
    {
      "key": "batchid",
      "value": ""
    }
  ]
}